package com.huaxiafinance.management.mapper;

import com.huaxiafinance.management.dto.request.PackageDto;
import com.huaxiafinance.management.dto.request.QueryFranchiseeToBeInfoDto;
import com.huaxiafinance.management.dto.request.QueryPOrderDto;
import com.huaxiafinance.management.model.PackageOrder;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PackageOrderMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(PackageOrder record);

    int insertSelective(PackageOrder record);

    PackageOrder selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(PackageOrder record);

    int updateByPrimaryKey(PackageOrder record);

    
    /**
     * 获取某人指定套餐列表
     * @param dto
     * @return
     */
    List<PackageOrder> getOrderList(QueryPOrderDto dto);

    /**
     * 获取某人指定套餐记录数
     * @param dto
     * @return
     */
    int getOrderListCount(QueryPOrderDto dto);

    /**
     * 准加盟商/一级加盟商购买套餐数
     * 总套餐价
     * @return
     */
    Map<String,Object> getOrderNum(QueryFranchiseeToBeInfoDto dto);

    List<PackageOrder> queryByDto(PackageDto dto);

    int countByDto(PackageDto dto);


    List<PackageOrder> selectAllPackageByUserUuid(String userUuid);



    Integer queryIfPay(@Param("userUuid") String userUuid);

    Integer countIfPayByPackageType(@Param("userUuid") String userUuid,@Param("packageType")String packageType);



    PackageOrder  selectIsGet(@Param("userUuid")String userUuid);

    /**
     * 二级加盟商购买套餐数和总套餐价
     * @return
     */
    Map<String,Object> getSecondOrderNum(QueryFranchiseeToBeInfoDto dto);
}